package com.t.bricks.bussiness.db.entity.addresslist.base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.t.bricks.annotation.DataInfo;

/**
 * 通讯录'Addresslist'表实体类
 * 警告:非数据库字段禁止在此添加,应该创建扩展实体中添加
 * @author HuangXinBian
 */
@ApiModel("通讯录Addresslist")
@DataInfo(sDbName="BricksCommonBusiness", sTableName="Addresslist")
public class AddresslistBase implements Serializable {

	private static final long serialVersionUID = 1L;// 使用rmi时需修改

	/**
	 * 记录编号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sId", sComment="记录编号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=true, isNull=false,
		iMaxLength=8, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=0 )
	@ApiModelProperty(value="记录编号", example="")
	//[end]
	protected String sId;

	/**
	 * 名称
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sName", sComment="名称", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=200, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=1 )
	@ApiModelProperty(value="名称", example="")
	//[end]
	protected String sName;

	/**
	 * 别名
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sAlias", sComment="别名", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=200, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=2 )
	@ApiModelProperty(value="别名", example="")
	//[end]
	protected String sAlias;

	/**
	 * 性别(枚举,1:男;2:女;3:未知)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="iSex", sComment="性别(枚举,1:男;2:女;3:未知)", isDbField=true, sDbFileType="int",
		sDefaultData="0", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=3 )
	@ApiModelProperty(value="性别(枚举,1:男;2:女;3:未知)", example="0")
	//[end]
	protected Integer iSex;

	/**
	 * 分类
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sType", sComment="分类", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=4 )
	@ApiModelProperty(value="分类", example="")
	//[end]
	protected String sType;

	/**
	 * 手机
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sPhone", sComment="手机", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=5 )
	@ApiModelProperty(value="手机", example="")
	//[end]
	protected String sPhone;

	/**
	 * 电话
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sTelePhone", sComment="电话", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=6 )
	@ApiModelProperty(value="电话", example="")
	//[end]
	protected String sTelePhone;

	/**
	 * 邮件
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sMail", sComment="邮件", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=7 )
	@ApiModelProperty(value="邮件", example="")
	//[end]
	protected String sMail;

	/**
	 * QQ
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sQQ", sComment="QQ", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=8 )
	@ApiModelProperty(value="QQ", example="")
	//[end]
	protected String sQQ;

	/**
	 * MSN
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sMSN", sComment="MSN", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=9 )
	@ApiModelProperty(value="MSN", example="")
	//[end]
	protected String sMSN;

	/**
	 * 微信号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sWeiChat", sComment="微信号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=20, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=10 )
	@ApiModelProperty(value="微信号", example="")
	//[end]
	protected String sWeiChat;

	/**
	 * 地址
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sAddress", sComment="地址", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=200, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=11 )
	@ApiModelProperty(value="地址", example="")
	//[end]
	protected String sAddress;

	/**
	 * 生日
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="dBarthday", sComment="生日", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=12 )
	@ApiModelProperty(value="生日", example="")
	//[end]
	protected Date dBarthday;

	/**
	 * 备注
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sMemo", sComment="备注", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=200, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=13 )
	@ApiModelProperty(value="备注", example="")
	//[end]
	protected String sMemo;

	/**
	 * 创建者
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sCreator", sComment="创建者", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=14 )
	@ApiModelProperty(value="创建者", example="00000000")
	//[end]
	protected String sCreator;

	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="dCreateDate", sComment="创建时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=15 )
	@ApiModelProperty(value="创建时间", example="")
	//[end]
	protected Date dCreateDate;

	/**
	 * 修改人
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="sModifieder", sComment="修改人", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=16 )
	@ApiModelProperty(value="修改人", example="00000000")
	//[end]
	protected String sModifieder;

	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="dModifiedDate", sComment="修改时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=17 )
	@ApiModelProperty(value="修改时间", example="")
	//[end]
	protected Date dModifiedDate;

	/**
	 * 状态
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="iState", sComment="状态", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=18 )
	@ApiModelProperty(value="状态", example="1")
	//[end]
	protected Integer iState;

	/**
	 * 序号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="iIndex", sComment="序号", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=19 )
	@ApiModelProperty(value="序号", example="1")
	//[end]
	protected Integer iIndex;

	/**
	 * 版本号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Addresslist",
		sName="iVersion", sComment="版本号", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=20 )
	@ApiModelProperty(value="版本号", example="1")
	//[end]
	protected Integer iVersion;

	/**
	 * 取 记录编号
	 * @return String
	 */
	public String getsId() {
		return sId;
	}

	/**
	 * 设置记录编号
	 * @param sId
	 */
	public void setsId(String sId) {
		this.sId = sId;
	}

	/**
	 * 取 名称
	 * @return String
	 */
	public String getsName() {
		return sName;
	}

	/**
	 * 设置名称
	 * @param sName
	 */
	public void setsName(String sName) {
		this.sName = sName;
	}

	/**
	 * 取 别名
	 * @return String
	 */
	public String getsAlias() {
		return sAlias;
	}

	/**
	 * 设置别名
	 * @param sAlias
	 */
	public void setsAlias(String sAlias) {
		this.sAlias = sAlias;
	}

	/**
	 * 取 性别(枚举,1:男;2:女;3:未知)
	 * @return Integer
	 */
	public Integer getiSex() {
		return iSex;
	}

	/**
	 * 设置性别(枚举,1:男;2:女;3:未知)
	 * @param iSex
	 */
	public void setiSex(Integer iSex) {
		this.iSex = iSex;
	}

	/**
	 * 取 分类
	 * @return String
	 */
	public String getsType() {
		return sType;
	}

	/**
	 * 设置分类
	 * @param sType
	 */
	public void setsType(String sType) {
		this.sType = sType;
	}

	/**
	 * 取 手机
	 * @return String
	 */
	public String getsPhone() {
		return sPhone;
	}

	/**
	 * 设置手机
	 * @param sPhone
	 */
	public void setsPhone(String sPhone) {
		this.sPhone = sPhone;
	}

	/**
	 * 取 电话
	 * @return String
	 */
	public String getsTelePhone() {
		return sTelePhone;
	}

	/**
	 * 设置电话
	 * @param sTelePhone
	 */
	public void setsTelePhone(String sTelePhone) {
		this.sTelePhone = sTelePhone;
	}

	/**
	 * 取 邮件
	 * @return String
	 */
	public String getsMail() {
		return sMail;
	}

	/**
	 * 设置邮件
	 * @param sMail
	 */
	public void setsMail(String sMail) {
		this.sMail = sMail;
	}

	/**
	 * 取 QQ
	 * @return String
	 */
	public String getsQQ() {
		return sQQ;
	}

	/**
	 * 设置QQ
	 * @param sQQ
	 */
	public void setsQQ(String sQQ) {
		this.sQQ = sQQ;
	}

	/**
	 * 取 MSN
	 * @return String
	 */
	public String getsMSN() {
		return sMSN;
	}

	/**
	 * 设置MSN
	 * @param sMSN
	 */
	public void setsMSN(String sMSN) {
		this.sMSN = sMSN;
	}

	/**
	 * 取 微信号
	 * @return String
	 */
	public String getsWeiChat() {
		return sWeiChat;
	}

	/**
	 * 设置微信号
	 * @param sWeiChat
	 */
	public void setsWeiChat(String sWeiChat) {
		this.sWeiChat = sWeiChat;
	}

	/**
	 * 取 地址
	 * @return String
	 */
	public String getsAddress() {
		return sAddress;
	}

	/**
	 * 设置地址
	 * @param sAddress
	 */
	public void setsAddress(String sAddress) {
		this.sAddress = sAddress;
	}

	/**
	 * 取 生日
	 * @return Date
	 */
	public Date getdBarthday() {
		return dBarthday;
	}

	/**
	 * 设置生日
	 * @param dBarthday
	 */
	public void setdBarthday(Date dBarthday) {
		this.dBarthday = dBarthday;
	}

	/**
	 * 取 备注
	 * @return String
	 */
	public String getsMemo() {
		return sMemo;
	}

	/**
	 * 设置备注
	 * @param sMemo
	 */
	public void setsMemo(String sMemo) {
		this.sMemo = sMemo;
	}

	/**
	 * 取 创建者
	 * @return String
	 */
	public String getsCreator() {
		return sCreator;
	}

	/**
	 * 设置创建者
	 * @param sCreator
	 */
	public void setsCreator(String sCreator) {
		this.sCreator = sCreator;
	}

	/**
	 * 取 创建时间
	 * @return Date
	 */
	public Date getdCreateDate() {
		return dCreateDate;
	}

	/**
	 * 设置创建时间
	 * @param dCreateDate
	 */
	public void setdCreateDate(Date dCreateDate) {
		this.dCreateDate = dCreateDate;
	}

	/**
	 * 取 修改人
	 * @return String
	 */
	public String getsModifieder() {
		return sModifieder;
	}

	/**
	 * 设置修改人
	 * @param sModifieder
	 */
	public void setsModifieder(String sModifieder) {
		this.sModifieder = sModifieder;
	}

	/**
	 * 取 修改时间
	 * @return Date
	 */
	public Date getdModifiedDate() {
		return dModifiedDate;
	}

	/**
	 * 设置修改时间
	 * @param dModifiedDate
	 */
	public void setdModifiedDate(Date dModifiedDate) {
		this.dModifiedDate = dModifiedDate;
	}

	/**
	 * 取 状态
	 * @return Integer
	 */
	public Integer getiState() {
		return iState;
	}

	/**
	 * 设置状态
	 * @param iState
	 */
	public void setiState(Integer iState) {
		this.iState = iState;
	}

	/**
	 * 取 序号
	 * @return Integer
	 */
	public Integer getiIndex() {
		return iIndex;
	}

	/**
	 * 设置序号
	 * @param iIndex
	 */
	public void setiIndex(Integer iIndex) {
		this.iIndex = iIndex;
	}

	/**
	 * 取 版本号
	 * @return Integer
	 */
	public Integer getiVersion() {
		return iVersion;
	}

	/**
	 * 设置版本号
	 * @param iVersion
	 */
	public void setiVersion(Integer iVersion) {
		this.iVersion = iVersion;
	}

	/**
	 * 复制对象
	 * @param source 数据源
	 * @return AddresslistBase
	 */
	public static AddresslistBase copy(AddresslistBase source) {
		if (null == source) {
			return null;
		}
		
		AddresslistBase target = new AddresslistBase();
		target.setsId(source.getsId());
		target.setsName(source.getsName());
		target.setsAlias(source.getsAlias());
		target.setiSex(source.getiSex());
		target.setsType(source.getsType());
		target.setsPhone(source.getsPhone());
		target.setsTelePhone(source.getsTelePhone());
		target.setsMail(source.getsMail());
		target.setsQQ(source.getsQQ());
		target.setsMSN(source.getsMSN());
		target.setsWeiChat(source.getsWeiChat());
		target.setsAddress(source.getsAddress());
		target.setdBarthday(source.getdBarthday());
		target.setsMemo(source.getsMemo());
		target.setsCreator(source.getsCreator());
		target.setdCreateDate(source.getdCreateDate());
		target.setsModifieder(source.getsModifieder());
		target.setdModifiedDate(source.getdModifiedDate());
		target.setiState(source.getiState());
		target.setiIndex(source.getiIndex());
		target.setiVersion(source.getiVersion());

		return target;
	}
	
	/**
	 * 克隆对象
	 * @return AddresslistBase
	 */
	public AddresslistBase clone() {
		return copy(this);
	}
	
}
